	.file	1 "nqueens.c"

 # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C

 # Cc1 defaults:
 # -mgas -mgpOPT

 # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
 # -quiet -dumpbase -o

gcc2_compiled.:
__gnu_compiled_c:
	.rdata
	.align	2
$LC0:
	.ascii	"Usage: %s <N>\n\000"
	.text
	.align	2
	.globl	main
	.align	2
	.globl	printArray
	.align	2
	.globl	getPositions

	.extern	stderr, 4

	.text

	.loc	1 9
	.ent	main
main:
	.frame	$fp,40,$31		# vars= 16, regs= 2/0, args= 16, extra= 0
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	subu	$sp,$sp,40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	sw	$4,40($fp)
	sw	$5,44($fp)
	jal	__main
	lw	$2,40($fp)
	li	$3,0x00000002		# 2
	beq	$2,$3,$L2
	lw	$2,44($fp)
	lw	$4,stderr
	la	$5,$LC0
	lw	$6,0($2)
	jal	fprintf
	move	$4,$0
	jal	exit
$L2:
	lw	$3,44($fp)
	addu	$2,$3,4
	lw	$4,0($2)
	jal	atoi
	sw	$2,16($fp)
	lw	$2,16($fp)
	move	$3,$2
	sll	$2,$3,2
	move	$4,$2
	jal	malloc
	sw	$2,24($fp)
	sw	$0,20($fp)
$L3:
	lw	$2,20($fp)
	lw	$3,16($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L6
	j	$L4
$L6:
	lw	$4,16($fp)
	lw	$5,24($fp)
	move	$6,$0
	lw	$7,20($fp)
	jal	getPositions
$L5:
	lw	$3,20($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,20($fp)
	j	$L3
$L4:
	move	$2,$0
	j	$L1
$L1:
	move	$sp,$fp			# sp not trusted here
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addu	$sp,$sp,40
	j	$31
	.end	main

	.loc	1 29
	.ent	printArray
printArray:
	.frame	$fp,32,$31		# vars= 8, regs= 2/0, args= 16, extra= 0
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	subu	$sp,$sp,32
	sw	$31,28($sp)
	sw	$fp,24($sp)
	move	$fp,$sp
	sw	$4,32($fp)
	sw	$5,36($fp)
	sw	$0,16($fp)
$L8:
	lw	$2,16($fp)
	lw	$3,32($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L11
	j	$L9
$L11:
	sw	$0,20($fp)
$L12:
	lw	$2,20($fp)
	lw	$3,32($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L15
	j	$L13
$L15:
	lw	$2,16($fp)
	move	$3,$2
	sll	$2,$3,2
	lw	$3,36($fp)
	addu	$2,$2,$3
	lw	$3,20($fp)
	lw	$2,0($2)
	bne	$3,$2,$L16
	li	$4,0x00000051		# 81
	jal	putchar
	j	$L17
$L16:
	li	$4,0x0000002e		# 46
	jal	putchar
$L17:
	li	$4,0x00000020		# 32
	jal	putchar
$L14:
	lw	$3,20($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,20($fp)
	j	$L12
$L13:
	li	$4,0x0000000a		# 10
	jal	putchar
$L10:
	lw	$3,16($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,16($fp)
	j	$L8
$L9:
	.set	noreorder
	nop
	.set	reorder
	sw	$0,16($fp)
$L18:
	lw	$2,32($fp)
	move	$3,$2
	sll	$2,$3,1
	lw	$3,16($fp)
	slt	$2,$3,$2
	bne	$2,$0,$L21
	j	$L19
$L21:
	li	$4,0x0000002d		# 45
	jal	putchar
$L20:
	lw	$3,16($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,16($fp)
	j	$L18
$L19:
	li	$4,0x0000000a		# 10
	jal	putchar
$L7:
	move	$sp,$fp			# sp not trusted here
	lw	$31,28($sp)
	lw	$fp,24($sp)
	addu	$sp,$sp,32
	j	$31
	.end	printArray

	.loc	1 49
	.ent	getPositions
getPositions:
	.frame	$fp,40,$31		# vars= 16, regs= 2/0, args= 16, extra= 0
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	subu	$sp,$sp,40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	sw	$4,40($fp)
	sw	$5,44($fp)
	sw	$6,48($fp)
	sw	$7,52($fp)
	lw	$2,48($fp)
	move	$3,$2
	sll	$2,$3,2
	lw	$3,44($fp)
	addu	$2,$2,$3
	lw	$3,52($fp)
	sw	$3,0($2)
	lw	$3,40($fp)
	subu	$2,$3,1
	lw	$3,48($fp)
	bne	$3,$2,$L23
	lw	$4,40($fp)
	lw	$5,44($fp)
	jal	printArray
	j	$L22
$L23:
	.set	noreorder
	nop
	.set	reorder
	sw	$0,16($fp)
$L24:
	lw	$2,16($fp)
	lw	$3,40($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L27
	j	$L25
$L27:
	sw	$0,24($fp)
	sw	$0,20($fp)
$L28:
	lw	$2,20($fp)
	lw	$3,48($fp)
	slt	$2,$3,$2
	beq	$2,$0,$L31
	j	$L29
$L31:
	lw	$2,20($fp)
	move	$3,$2
	sll	$2,$3,2
	lw	$3,44($fp)
	addu	$2,$2,$3
	lw	$3,0($2)
	lw	$2,16($fp)
	beq	$3,$2,$L33
	lw	$3,20($fp)
	subu	$2,$3,1
	lw	$3,48($fp)
	subu	$2,$3,$2
	lw	$4,20($fp)
	subu	$3,$4,1
	lw	$4,48($fp)
	subu	$3,$4,$3
	mult	$2,$3
	mflo	$2
	lw	$3,20($fp)
	move	$4,$3
	sll	$3,$4,2
	lw	$4,44($fp)
	addu	$3,$3,$4
	lw	$4,16($fp)
	lw	$5,0($3)
	subu	$3,$4,$5
	lw	$4,20($fp)
	move	$5,$4
	sll	$4,$5,2
	lw	$5,44($fp)
	addu	$4,$4,$5
	lw	$5,16($fp)
	lw	$6,0($4)
	subu	$4,$5,$6
	mult	$3,$4
	mflo	$3
	beq	$2,$3,$L33
	j	$L32
$L33:
	li	$2,0x00000001		# 1
	sw	$2,24($fp)
	j	$L29
$L32:
$L30:
	lw	$3,20($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,20($fp)
	j	$L28
$L29:
	lw	$2,24($fp)
	bne	$2,$0,$L34
	lw	$3,48($fp)
	addu	$2,$3,1
	lw	$4,40($fp)
	lw	$5,44($fp)
	move	$6,$2
	lw	$7,16($fp)
	jal	getPositions
$L34:
$L26:
	lw	$3,16($fp)
	addu	$2,$3,1
	move	$3,$2
	sw	$3,16($fp)
	j	$L24
$L25:
$L22:
	move	$sp,$fp			# sp not trusted here
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addu	$sp,$sp,40
	j	$31
	.end	getPositions
